1 REM ********************************* 2 REM * MAPPING 4.4 * 3 REM * BY * 4 REM * J.M.MARCANO * 5 REM ********************************* 6 REM 8/29/84 10 REM ****** CENTRAL SECTION ****** 15 POKE53280,8:POKE53281,0:D$="? ? ?" 20 PRINTCHR$(147):FORI=1TO11:PRINT:NEXT:PRINTCHR$(158)SPC(17)"WAIT" 25 FOR AD=828TO888:READVA:POKEAD,VA:NEXTAD 30 FORI=49152TO49543:READC:POKEI,C:NEXT 40 SYS49309:SYS49385:POKE81,197:SYS49512:GOSUB160:SYS49152:GOSUB100:GOSUB350 50 REM ** ALL THE FUNCTIONS COME HERE ** 55 DEFFNF(X)=SIN(X) 60 GOSUB210 70 ONKGOTO260,790,490,280,810,830,850,60 100 REM *** DIRECTORY FOR F'S KEYS **** 110 PRINTCHR$(19)CHR$(30):FORI=1TO20:PRINT:NEXT 115 PRINT" F1:GRAPHIC CLEANER F2:STORE(M+)" 120 PRINT" F3:RANGE CHANGER F4:RECALL" 130 PRINT" F5:FUNCTION CHANGER F6:CLEAR MRY" 140 PRINT" F7:COMPARE WITH MRY F8:NO DEFINED"CHR$(19)CHR$(154) 150 RETURN 160 REM **TRANSFER THE CHAR. TO SCREEN** 170 C=55341:J=1069:L=106 180 FORI=0TO14:POKEJ+I,L:POKEC+I,1:L=L+1:NEXT 190 C=C+40:J=J+40:IFJ<1464THEN180 200 RETURN 205 REM *** SET UP ERROR TRAPPING IN 870*** 206 T$="GOTO"+STR$(870)+CHR$(0) 207 FOR AD=1 TO LEN(T$):POKE891+AD,ASC(MID$(T$,AD,1)):NEXTAD 208 SYS875 209 RETURN 210 REM ****** INPUT SUBROUTINE ****** 215 GOSUB205 220 GETK$:IFK$=""THEN220 230 IFK$=CHR$(133)ORK$=CHR$(134)ORK$=CHR$(135)ORK$=CHR$(136)THEN240 231 IFK$=CHR$(137)ORK$=CHR$(138)ORK$=CHR$(139)ORK$=CHR$(140)THEN240 235 GOTO220 240 K=ASC(K$)-132 250 RETURN 260 REM **CLEAR CHAR.** (F1 ROUTINE) 270 SYS49385:GOTO60 280 REM **CLEAR OPERATION** (F7 ROUTINE) 285 ONNGOTO290,295 290 POKE81,202:SYS49512:POKE81,202:SYS49416:POKE81,197:SYS49464:N=2:GOTO60 295 SYS49385:POKE81,202:SYS49464:N=1:GOTO60 300 REM *** CLEAR DATA AREA *** 310 FORJ=1064TO1424STEP40 320 FORI=J+23TOJ+39:POKEI,32:NEXTI:NEXTJ:RETURN 330 REM *** CLEAR WORK AREA *** 340 FORI=1544TO1743:POKEI,32:NEXT:RETURN 350 REM *** SET UP DATA AREA *** 360 PRINTCHR$(19)CHR$(159):PRINT:PRINTTAB(23)"X0=";X0 370 PRINTTAB(23)"XM=";XM 380 PRINTTAB(23)"Y0=";Y0 390 PRINTTAB(23)"YM=";YM 400 PRINT:PRINTTAB(23)"PIXELS:";DX 410 PRINT:PRINTTAB(23)"DATA FROM "CHR$(154);D$ 420 RETURN 430 REM *** SET UP THE FUNCTION AREA *** 440 FORI=0TO39:POKE1784+I,32:NEXT 450 PRINTCHR$(19)CHR$(159):FORI=1TO18:PRINT:NEXT:PRINT" Y=";A$ 460 RETURN 470 REM **** POSITION ON WORK AREA **** 480 PRINTCHR$(19):FORI=1TO13:PRINT:NEXT:RETURN 490 REM **INPUT FUNCTION **(F5 ROUTINE) 495 GOSUB330:GOSUB470 500 PRINTCHR$(159)"ENTER THE 2DN MEMBER OF THE F'N ON X " 505 INPUTA$:IFLEN(A$)<29THEN510 506 PRINT"MUST HAS LESS THAN 29 CHARACTERS":FORI=0TO1000:NEXT:GOTO495 510 GOSUB330:GOSUB430:PRINTCHR$(19)CHR$(144):FORI=1TO14:PRINT:NEXT:PRINT; 520 PRINT"55D[197]FNF(X)=";A$ 530 PRINT"RUN50 550 [151]631,13:[151]632,13:[151]633,13:[151]198,3:[128] 560 [143] ***INPUT RANGE SUBROUTINE*** 570 [153][199](154):[141]330:[141]470:[133]"X0,XM";X0,XM 580 [139]X0[179]XM[167]600 590 [153]"MUST BE X00":[129]I[178]0[164]1000:[130]:[137]630 650 [143] **** FUNCTION EVALUATER **** 660 [139][180](X0)[178][180](XM)[167]670 665 X[178][171]X0[172]119[173](XM[171]X0):[129]Y[178]0[164]79[169]5:[141]750:[130] 670 [139][180](Y0)[178][180](YM)[167]700 675 Y[178]Y0[172]79[173](YM[171]Y0)[170]79:[129]X[178]0[164]119[169]5:[141]750:[130] 700 SX[178](XM[171]X0)[173]DX 710 [129]I[178]X0[164]XM[169]SX 720 F[178][165]F(I):[139]F[179]Y0[176]F[177]YM[167]740 730 X[178](I[171]X0)[173](XM[171]X0)[172]119:Y[178](Y0[171]F)[173](YM[171]Y0)[172]79[170]79:[141]750 740 [130]:[142] 750 [143] ****** GRAPHIC MAKER ****** 760 RO[178][181](Y[173]8):CH[178][181](X[173]8):LI[178]Y[175]7 770 BIT[178]7[171](X[175]7):BYT[178]13136[170]RO[172]120[170]CH[172]8[170]LI:[151]BYT,[194](BYT)[176](2[174]BIT) 780 [142] 790 [143] **INPUT RANGE ROUTINE**(F3-ROUTINE) 800 D$[178]"USER":[141]560:[141]300:[141]650:[141]350:[137]60 810 [143] **** STORE (F2-ROUTINE) **** 815 [151]81,197 820 [158]49416:X1[178]X0:X2[178]XM:Y1[178]Y0:Y2[178]YM:DM[178]DX:[151]55296,5:[151]1024,13:[137]60 830 [143] **** RECALL **** (F4-ROUTINE) 840 [151]81,197:[158]49464:[139]X1[178]X2[167][137]60 842 D$[178]"MEMORY":[141]300:X0[178]X1:XM[178]X2:Y0[178]Y1:YM[178]Y2:DX[178]DM:[141]350:[137]60 850 [143] **MEMORY CLEANER** (F6-ROUTINE) 860 [151]81,197:[158]49512:[151]55296,0:[137]60 870 [143] *** ERROR TRAPPING *** 880 [141]470 885 EN[178][194](889):[139]EN[177]127[167][153][199](19):[129]I[178]1[164]11:[153]:[130]:[128] 900 [139]EN[178]11[167][153]"CHECK THE FUNCTION. USE " 910 [139]EN[178]20[167][153]"DIVISION BY ZERO. CHANGE RANGE" 920 [139]EN[178]25[167][153]"THE FUNCTION IS TOO COMPLEX. REDEFINE IT" 930 [139]EN[178]15[167][153]"NUMBER TOO SMALL OR TOO HIGH.REDIFINE IT" 940 [139]EN[178]5[167][153]"DEVICE NOT PRESENT. REPEAT OPERATION" 950 [137]50 5000 [143] ** MACHINE LANGUAGE ROUTINES ** 5010 [143] 49152-SET UP THE FORMAT 5020 [143] 49309-MOVE CHARACTERS RAM_ROM 5030 [143] 49385-CLEAR THESE CHARACTERS 5040 [143] 49416-STORE ROUTINE 5050 [143] 49464-RECALL ROUTINE 5060 [143] 49512-CLEAR ROUTINE 5070 [143] 00875-SET UP TRAPPING 5950 [131]169,139,141,0,3,169,227,141,1,3,165,58,141,123 5960 [131]3,201,255,240,39,165,57,141,122,3,142,121,3,160 5970 [131]0,185,124,3,153,0,2,240,3,200,208,245,162,255 5980 [131]160,1,76,134,164,169,60,141,0,3,169,3,141,1 5990 [131]3,96,108,0,3 6000 [131]169,61,162,40,157,223,5,157,207,6,202,208,247,169,4,162,40,157,223,217 6010 [131]157,207,218,157,31,219,202,208,244,169,45,162,40,157,31,7,202,208,250 6020 [131]169,72,162,0,157,44,4,157,84,4,157,124,4,157,164,4,157,204,4,157,244 6030 [131]4,157,28,5,157,68,5,157,108,5,157,148,5,208,5,162,16,169,71,76,43,192 6040 [131]169,13,162,0,157,44,216,157,84,216,157,124,216,157,164,216,157,204,216 6050 [131]157,244,216,157,28,217,157,68,217,157,108,217,157,148,217,208,5,162,16 6060 [131]76,86,192,169,69,162,15,157,188,5,202,208,250,169,82,162,15,157,4,4 6070 [131]202,208,250,169,13,162,15,157,188,217,157,4,216,202,208,247,96,173,14 6080 [131]220,41,254,141,14,220,165,1,41,251,133,1,169,0,133,80,133,78,169,208 6090 [131]133,81,169,48,133,79,162,8,160,0,177,80,145,78,136,192,0,208,247,202 6100 [131]240,7,230,81,230,79,76,189,192,165,1,9,4,133,1,173,14,220,9,1,141,14 6110 [131]220,173,24,208,41,240,9,12,141,24,208,96 6120 [131]169,80,133,80,169,0,160,0,162,51,134,81,145,80,136,208,251,232,224,55 6130 [131]208,244,153,80,55,200,192,177,208,248,96 6140 [131]169,80,133,78,169,51,133,79,169,0,133,80,234,234,234,234,162,5,160,0 6150 [131]177,78,17,80,145,80,200,208,247,230,81,230,79,202,208,240,177,78,17 6160 [131]80,145,80,200,192,177,208,245,96,169,80,133,78,169,51,133,79,169,0 6170 [131]133,80,234,234,234,234,162,5,160,0,177,80,17,78,145,78,200,208,247 6180 [131]230,81,230,79,202,208,240,177,80,17,78,145,78,200,192,177,208,245,96 6190 [131]169,0,133,80,234,234,234,234,162,5,160,0,169,0,145,80,200,208,251 6200 [131]230,81,202,208,246,145,80,200,192,177,208,249,96